﻿Option Strict On
Option Infer On
Option Explicit On

Imports System
Imports System.Collections.Generic
Imports GenDotNet.Model.Common

Namespace StoredProcModel

   Public Interface IEntityData
      Inherits IBaseData

      ReadOnly Property Name() As String
      ReadOnly Property ObjectName() As String
      'ReadOnly Property Table() As ITableData
      ReadOnly Property DoGenerateCreate() As Boolean
      ReadOnly Property DoGenerateRetrieve() As Boolean
      ReadOnly Property DoGenerateUpdate() As Boolean
      ReadOnly Property DoGenerateDelete() As Boolean
      ReadOnly Property DoGenerateSetSelect() As Boolean
      ' TODO: Reconsider WhereClause
      'ReadOnly Property WhereClause() As String

      'ReadOnly Property StoredProcedures() As IEnumerable(Of IStoredProcedureData)
      ReadOnly Property Recordset() As IRecordsetData
      ReadOnly Property SetRecordset() As IRecordsetData
      ReadOnly Property Children() As IEnumerable(Of IChildData)
      'ReadOnly Property PrimaryKeyColumns() As IEnumerable(Of IColumnData)
   End Interface

End Namespace
